package multithread;

/**
 * Created by xiebang
 * Description
 * User:小谢
 * Date:2021-12-01
 * Time:15:53
 */
public class ThreadDemo {
    static class MyThread extends  Thread{
        @Override
        public void run(){
            System.out.println("hello world,我是一个线程");
            while(true) {

            }
        }

    }
//涉及到两个线程,myThread创建出的线程,main方法对应的主线程.
    //为了进一步观察当前确实是两线程,可以借助第三方的工具来查看该进程中线程的情况

    public static void main(String[] args) {
        //创建线程需要使用Thread类,来创建一个Thread的实例
        //另一个方面还需要给这个线程指定,需要执行哪些指令,
        //指定指令的方式有很多中方式,此处先用一种简单的,直接继承Thread类,
        //重写Thread中的RUN方法.

        //注意:当 Thread对象被创建的出来的时候,内核中并没有随之产生一个线程(PCB)
        Thread t = new MyThread();

        //执行这个start 方法,才是真的创建出了一个线程
        //此时内核中才随之出现一个PCB,这个PCB就会对应让CPU来执行该线程中的代码.(上面RUN方法中的逻辑)
        t.start();
        while (true){

        }
    }
}
